#ifndef _MAC_BYTES_HPP
#define _MAC_BYTES_HPP 1

#include <stdint.h>
#include <boost/shared_ptr.hpp>
#include "../constants.hpp"

namespace BFT
{
	namespace messages
	{
		class MacBytes
		{
			public :
			
			MacBytes();
			
			MacBytes(boost::shared_ptr<char> _bytes, int _bytes_size);

			MacBytes(boost::shared_ptr<char> _bytes); //assumes _bytes_size == MacBytes::size()
			
			bool equals(boost::shared_ptr<MacBytes> _b);
			
			boost::shared_ptr<char> getBytes(); //inlined
			
			static uint32_t size();
			
			void printInfo();
			
			protected:
			
			boost::shared_ptr<char> bytes;
		};
		
		inline boost::shared_ptr<char> MacBytes::getBytes() {return bytes;}
	}
}

#endif
